<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <meta name="theme-color" content="#3367D6"/>
  <link rel="apple-touch-icon" href="/icons-192.png">
  <link rel="manifest" href="/manifest.json">
  
  <meta name="generator" content="Hexo 6.3.0">

  

  

  
    <meta name="author" content="QAQ">
  

  

  

  <title>alibaba的easyExcel基本使用记录 | QAQ</title>

  

  
    <link rel="shortcut icon" href="/blog/favicon.ico">
  

  <!--mathjax latex数学公式显示支持-->
  
  

  
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-source-code-pro@1.1.13/index.min.css">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@11.7.0/build/styles/monokai.min.css">
  

  

  
<link rel="stylesheet" href="/blog/css/style.css">

</head>
<body>
  <div class="root-container">
    
<!-- header container -->
<header class="header-container post">
  
    <div class="post-image" style="background-image: url(https://qiniu.sukoshi.xyz/src/images/68686407_p0.jpg)"></div>
  

  <!-- navbar -->
<nav class="navbar">
  <div class="navbar-content">
    <!-- logo -->
    <div class="navbar-logo">
      <a href="/blog/">
        
          QAQ
        
      </a>
    </div>
    <!-- link -->
    <div class="navbar-link">
      <div class="navbar-btn">
        <div></div>
        <div></div>
        <div></div>
      </div>
      <ul class="navbar-list">
        
      </ul>
    </div>
  </div>
</nav>

  
  

  
  

  
  

  
  

  
  
    <div class="header-content">
      <div class="post-text layout-block">
        <div class="layout-margin">
          <h1 class="title-wrap">alibaba的easyExcel基本使用记录</h1>
          <h2 class="title-sub-wrap">
            <strong>QAQ</strong>
            <span>发布于</span>
            <time  class="article-date" datetime="2023-03-30T07:53:41.000Z" itemprop="datePublished">2023-03-30</time>
          </h2>
          
            <h2 class="last-time">
              <span>最后更新于</span>
              <time  class="article-updated" datetime="2024-04-09T01:08:52.109Z" itemprop="dateUpdated">2024-04-09</time>
            </h2>
          
          
          <ul class="wrap-list dark">
  
</ul>
          <ul class="wrap-list dark">
  
    <li><a href="/blog/tags/%E5%AF%BC%E5%87%BAExcel/">🏷️ 导出Excel</a></li>
  
</ul>
        </div>
      </div>
    </div>
  

  
  
  
</header>

    <!-- 文章 -->

<!-- 文章内容 -->
<div class="body-container">
  <article class="content-container layout-block post-container">
    <div class="article-info">
      
      
      
      
      <section class="article-entry markdown-body layout-margin content-padding--large soft-size--large soft-style--box">
        <div class="hbe hbe-container" id="hexo-blog-encrypt" data-wpm="抱歉，这个密码看着不太对，请再试试。" data-whm="抱歉，这个文章不能被纠正，不过您还是能看看解密后的内容。">
  <script id="hbeData" type="hbeData" data-hmacdigest="6c4c947c7657d8a2ff8ddab4c730fbfab50260b1b0ee178ec7037c1482fabcfa">f5d7027a76d40f8b4fe5a79716a716fb2e3f49ee84cb217f92cc109ad4d8682f82efbd8610d00c41c3f80eb427375715c0f8083c2be5f3881f5f45294607a4f8d4d8f5ac929c9bfaf10f228d5e0b8a591e631b779f7762868d4e9af36e8cbde25305345e35928ad01a7a1082796b7ebfc411954ba61884de23bba9ff202f4d5f03e9f9f7cf518d7cd649eaa84c4aa9f3d1fb1e2de1a0a8063f023aa30d706b5e4c37d1d746fc50580d0077cbe5992aabc404e6b0220e4af4519bfbac4d0559626cde9aed847d36cc07b9e16ab497293039bc108ceb88bdf6e465d4c2282cf97042e1d5b2eedec75fbd8269c0e57a645dd05cabdedd295830496667e729b01e1d188e7be45f244669b440581265bc55be07294fc266d46c067ccc56683bac4d21cf033762a186e23b60debca6fcfde0438b770e6ba007b7e199f26fb0f4813b172e104898b982790a4a0f5bf3b6d8571d850283f0048e13fdeb22cc4965cb8f1cef63c151a63a0ce47a74b5ccda3a22fbc00cc1ae2c42511e5b5e9cf1b331632cf2d7a279e418330ebe2406e7cb705a004a70f54a839a4656096c65e9e7e3247aa00173635e4977c26991ec0c972aa721d5cf1ea0923d09cc54288fb691a0dfee5bb924c15e1415c968132dc42120675e3d8a5a2b0b52ca333e9db1f2d76478fcc330b2133c18adb47f3d53e5b1e7743306e5d02a66304fe9fcf03a200a78522fae4102f737898b09aed3800eced753a599a5aec11fd725ebfd7e214104c742d1cb247ce766be3c6626e06f2ce869bb5cf5fc1a368cd4299864711a03d9b470df124b89ac8ef81b5b9dbafab8018c63ee3ffa655b92ff0ce8ac3ac22563ce6bbab7ade79e56f7772045d6995d1537e58accf90a521a34edc62336d2dc7d29ade101357a9b1845ec6a5fcd7bdb96953acda5dc061a09a1a658ad37e0789d3329b4122498b7f62b2fd0c62070632a0281b8d256c8d8cf540e5952367ce604b150f1c4a20713fbb72e59fb062c237056d8f99455d900004fff59d0008b80516be1042122ae78f733769001910608b377ef1c4051f1ff6dd4026edcc143758972ed024f8e6cd41b76a022e0404bded2ace97ecd9d319a48b095dba0024b0ff557bc601cb908917a711820ef77ae2a3066e2d9748ce7470e0638dca69c3345b988f2a85fb985a440e1a129ab5a863d7354221e8d97fa1a897199d19b645df60952e5866a49cd4a1ac6a2ad79e2d4940b21831e26107dc02d29f88664e09f80d3dd4b5679bda931ba53cb22340facc0a53e2e957f4fb61df6532aa6b5543606a5404ee6ffc091defb72c28a8ab8c637c08fe552bc4fd0ed4ff7587c7982a14669a7b4ba8d659fd8a83bdc86e9fd2ca406d25ac5c06fa56936a5b809ac0b70ca50066d699c0823586f5562d7130a7144cb33fc08e7ac951611ad7de494edc8d27091552ab1d413d30fc18711a840a7725b2a31f75b2a8de1cd45f4d75e839175a05539f719906ba157b85144f8946d2425d2d6df2cad4515122485fd1489f409392a9b947630004b3ecd4462995f646c21336c78c2cca643b83428463c1db2cb4497b04fcb8ec0b7d24c5ca374f1532bf5082577978d6e3829efeb157e5f297936c2faaa1f5a4385f801034f7a52d18afaf8a47e816384696c834df8ee1f44e98ef8540852b39b863cc0f6625016a3c3690ffaacdeebd23f6c09ef5719b08c71c5986906edb15ba61b415fd57a5b321b3c01b892908ea01fd9d15ab0dc0f488c2aec54dde67a5497a9aa1f1eaeb44b709363c0a264e5b9579dc7bb2b6201e2a465e8175c05c1c02355ad4fe7e40af15ce334410ca7dc7185390099e56f5d6f791859edb1a0909161f51e4d2aa68091ad020befa48de9cfe09bc7a079e9c7cac11e30fff93e55053e9bb7a3786dffaf3986e7e17e3bd613a0b1034eeeb94cbafc8df45fa1bceb8244a32520667d5f4cbbc48941657f119e837c7566ad96732c73d2d5d3b025bb09d99b3bd9e1c57c688519cb4acf6cc93f0f06dbf640bfe4c249532d3c9c1c4913eb05aff334bfd8f50b0b29feef1211d87f04f9b60641d511040d289a7493d7cce81d0ffab6c3a5c8ac46a4f8281cb48482fd6b37c9e9b264ee23cc6baad953ae4b638836066416a3bdbaeb660bdf9ca7767c89597965cee03893ab9c1384c58a4b292b41efb03c3a67352154edc4e22819f7a8a80f27b25187b9be6b3850f97ac55a097b115e5f4eb252a6cbd56d067a8f549781294670ce60bffa4bdec1956b22ff8f716ad08c4ab116bb6054cedb02f31e122798c81c82a6a09a99ecb136bd44d8cb5dd941ebbe44995157f494bccd36dc68138e5dad16437c4bba136851aef78cdda7471c5f5adfbdffb210d1ddab75100c7d0eaafe2481e02ce9e2673c90dae04dff5dce076f699e946d7c147ecb7233cb581bb8c71e8a2a921881c1c25cc7269843cbbc21e2273b254c19604d7c3403d10082258252ae7e84ba5275efbba9d0feaf684ae7a47dffa12bf965d1d15f99376b70ce2f41be01cc71b70b9c84a567b9c99a435f72c75d92e2db15cb4385cd1be9f3bbbdd9b7b79de3b1f5c4f61c4b0a7eb6b94a223ca3c9a8e6c0048850a07107562ce4df41ec5aaba6cf0b28d20eba5b45f6fb1255183421200d75ebd4f7c161e662183b4bb7b9430b8edb160a0b0361b19de78c02bb123cfb43c388fdf180bbe6ea95a74e4e09b61d506e2207650fd0503dc4b24c29b6b22dafc5907b3ad3ca355470b917adf025dfe3287f5301fe5fd48d4432d64c605f2955320a22362a02c821cb1102d62813a3641065d015930d7ce59e3485d0983ff4c1682ab4ae04e6aa1c4a2b92f09c4bf6a0242e5d84f9d4f4802c5050669eb62399bfb56186b71d3d06731a5bc66fc469e06c4e78da27b26e4bc73f634f26369e3e3056ccdb295896cf1f49fa8d49caceea5858a5db05dca85440220199896173fb734d4d4baf29ea0be15e670de4369a11cfdaa510d5f259a56b589184851121ca549388a314d44a616b9340813390f82e2a2b7fb77031b82b47b8e78fc238623c57d38e3bfe669130ec035268c6118895643f8426bfebe222d5501079e3c75fbf36533c273f71dd57dfb6d138bb54f3eaf49c29f9b150ec67ebe15bc3aec8e087e1782fc1db778deaca8ae814f5bd2f0f46f215ce7e4344d478b74d8163c477b9b3b82b5eeaeea6c187737dc1f18832c485589746941f9e706274e83bc737fc271b1ff1d131f74af344fd1905eb4c658d633d9c9d6e1361389cc36793d6d48cf50c55ebde8bdda9cd61c0734613a0aa3016cad1ffc3e5223b02364a7a8849ec36c37927a25b24b7aa5d04ccac12558f5d7cbd21c2a2630b7224cc27772ef3ad95c3b656e6e3a0400bb62c5c66a6e9e12ee1377b56698e7cb71852ae31493768d563d58fe5b3e26f5323780887570610a3e6c30d7ca27645156cb84cce99bf02c01b7a13c6feceb8bef5d22224c086f424ce0723835b07a12b4f2c3ccd838a44620c1ea7537fbf7f5f397cdb90bdf19502a09a0fc1b186a3bad2145739e52c9cf46f75c0487b8cb29c8f381f589fed7ceca5acee63729971181df093ff4038c452b9b72da1ec379c53f14fe4b72a758377e640a110996480c0d3bca66d990eacd7d6884c6aa103ce0073bbfa98340e1e9c4c5fc77640a47928866ed3505ed80756bdbd8a9c74a1fb7d501b3cf7f7d7344c104af2990cd0c3d3641c7b9a9c08fb71cc6b2c6659815b43a5f7893eeba23d44a440c4f3e69da69a9ecc8a77e635694619273470a98e1041ead444de676caf93035d173b0f0762a853f26d8b9e4e7ac15362836df988466bd2f6127cfd7ad2af919260515927d6ba86ef81f613e6fac84445d0abc11cdfd56ff8cca3330a0a237461d70d1eee85f6a39b976a9a9cce2e701308cf34170c3aaa766657f6694048840fb94e4b541aa0f2fb6b213a1afb1e3d3cd32fe1ec6ad4cb1c0760cf07243b4fb2fcc933e454df969e226f38ba14833661269e5bbe9f063844decd21cec741532ed2f1b4e9b28b87ab91c4e772bcd4e4cef4fee5d74b9953c6bc4a7d434ff3298d13e2e1e03b700641abaf5db891933a4ad818b92e7b008c57d427682b053c64b78c0d9d98a502c5a1fd8e7429ecea3eea7aed2687883186abdc8e17d8097d3a252583442261bee6bc9fdaac0ecdebf729cc3d115ac7c0db2cee1885f3429b4a15c49b443c95a56f836c4f6cfe079a8ebdabd116b4a843cd28a67314ea461bffe8a5ee8a77605300160d60d4f127a3d6326fed96e200b7c887df0effef8c57f56c14414885f423b4857ec00b8c4550bfd1977ab2ba3b2dd6b7f468242b5f8db31281be6e5db3c420ad08cc0969dbb2b33920fabbc1408da6512addc8a4e59d0076dc084a7b500deccf217f05a8d69e123aa6c0172b2074c2f6c21584d1f239af05890efaa89b9f587cef7c2d67b2bb297458741354d336d3864f349eb9d5dd5b0b1f3f1c9931653e7cb794ae9390e8885759bc1fbe2e48ac59aa9efc19f2836967b5c4b1bc189184b56595e132f1855f00b7c5eadba1891243467cd88688c5d47f74dbe10e914c817c0253c1d2cf276234bdbbefa7a6438d02a7e793cc65cc1aa18ed334fd673f42e7d3c55373a634057db052f7058fc21ec608e0f7a55936422c9e619a16b6cf544d6c754c6541bb5aba1c0aa4055c64f26c6d89dfbe36e05ae85e0087f598896e90a0849cd7b48192b2242988b9c1afdb8ad00e5262b5083719fbd27bf628aeb4f1f800c1b57c708401553bfa541aef2649e7cf2a322f0e202bc7f488c4ab8f3bb822b36aadf9631c4b481eb08ba36880298f809047ec89432407678e9812f2a0647a74c6233f2a2de7a68112ab5ba20a01fc1ebd5ce9b8fffed4387d4496fb7cbe6c1db51ac020c243ad4416577b5c3c53ddcc46ddf54efaaf3abd146e0f694800147da43948c69fe2693609534feb3633cd1fc8c180d5a44d86fe75618bda345e7d3c71742490a59cd8ea339661f5df333276b2fb4a22584da507bf783ebae49a87c1d04686b20e6185010b302b7fd2bc6e9be6669ec05d9fb769c71b7ac48a31b8ea68b3906ce9595804947336b94099522589266bf4a61bdafbb50ec3967624e68d76aad7ccccd3c17e68f9e09d4d2e8667957025ce58f3c5a461d12b09fed46d6205be4fdddbd84183bd1696bc7dd227560844a0e89bed34e98ec07b07facfc541d20f62699952857deeb3c24e0885414c919676cb2342e36d66272dcee341aa6d53c6d4fdc18b556f7faec2dc697ac989760fee410c3120031f2252f9e89bbf9ed0434d567ce81dad45f68f93b4042c7a2121be3fcc6fb702de506abdc57f860d3212462d7070d2ec082355779289eaf714389643c955354461f21e7f7c41204a0f54f2f6381b97f29a5effe0abac43733f2bb93ace5b10e607954e330b7c5fe810bfc7de65385ed4f23562c2df9a4c12ce5b3b3048bc446c0524dcae3aaf8fb10cabc5c29548d9c60429e5998cd0337312730a51b9faec6c85d2dec408349b3968e15de8fcebb522eab325389594ae15b2790de876f1ba5f6418ff2bf97fc467551fc702a3718175b521e996bb5229e7476ec4df147c4b9e666960a5c61d076d56b7b905f431325b8424bf170b12e0b1001712d818772063c24b2e86c7f54cf9dd57b6c7ec72f445cc3a811d947069b165447f3863f99d53c193bab2294058e7cfdb05104d5363b89c308e5b03349c3b19738272194a22b69cae5e95587271378027eb438e6e2515de26f9072b1a542f1e4fb9124e0c041a04bf37316d1d15e61321d7d38a85bc38f9dba6e7067faaa7847f186f44a27c39b2340a415e83831eff8139d7fc615d3b11e1c7d6b8ae5790f0bd9ee8c40bad17a10c59bbac6ac0ae7f8cb1c3b2a446602a8a966ce1080f1e7b81356a2d74bd5d9b586227a697bfe06f3776488aa78c81cd4f73d6d4a222aad4adcb1ea715c65b0eb33d12421f5a62b75b32eff396d0ab71bb995774b87854bf8dd255576d220c76380a0591da7ae3b54454f0ed5632f9e70d17d805efe8c3ddb6bb7e32b7f23d24c5ef8822fe32c350d3efb47440a6210e4bcc7ab233317d191b0f0a55af43b8a4cdd5844a17b6253758ea8ff00ee02ddcfa7374096a3c71792165813b0ac1b5b858dc933b8c5b2a723ea19bec5f05728c95689dbef365c23a6f15f72703ed5f7677edfe70b1f81c365f51</script>
  <div class="hbe hbe-content">
    <div class="hbe hbe-input hbe-input-default">
      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">
      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">
        <span class="hbe hbe-input-label-content hbe-input-label-content-default">您好，这里需要密码。</span>
      </label>
    </div>
  </div>
</div>
<script data-pjax src="/blog/lib/hbe.js"></script><link href="/blog/css/hbe.style.css" rel="stylesheet" type="text/css">
      </section>

      
      
        <nav class="article-nav">
          
            <div class="article-nav-item layout-padding">
  <article class="card-container article-nav-card content-padding--primary soft-size--large soft-style--box">
    
    <div class="card-text">
      
        <a href="/blog/2023/04/05/activiti%E9%9B%86%E6%88%90%E7%AC%94%E8%AE%B0/" itemprop="url">
          <h2 class="card-text--title text-ellipsis">activiti集成记录</h2>
        </a>
      
      <div class="card-text--row">Newer</div>
    </div>
  </article>
</div>
          
          
            <div class="article-nav-item layout-padding">
  <article class="card-container article-nav-card content-padding--primary soft-size--large soft-style--box">
    
    <div class="card-text">
      
        <a href="/blog/2023/03/30/PG%E8%AE%B0%E5%BD%95/" itemprop="url">
          <h2 class="card-text--title text-ellipsis">PG记录</h2>
        </a>
      
      <div class="card-text--row">Older</div>
    </div>
  </article>
</div>
          
        </nav>
      

      <section class="page-message-container layout-padding">
        


  
  

  
  


      </section>
    </div>
    <div class="widget-info">
      <section class="widget-author widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-body">
    
      <img src="/blog/icon.gif" class="soft-size--round soft-style--box" alt="QAQ">
    
    
      <h2>QAQ</h2>
    
    
      <p>贵在坚持</p>
    

    <div class="count-box">
      <div class="count-box--item">
        <svg class="icon icon-article" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M240.51564747 647.74217627h196.07203239c16.59071043 0 30.16492806-13.57421762 30.16492805-30.16492806V165.10332731c0-33.18142087-30.16492806-60.32985613-60.32985612-60.32985611H245.04038668C225.43318342 104.7734712 210.35071939 119.85593522 210.35071939 139.46313845V617.57724821c0 16.59071043 13.57421762 30.16492806 30.16492808 30.16492806z m663.62841731-452.47392089v482.63884894c0 33.18142087-27.14843525 60.32985613-60.32985612 60.32985613H180.18579134c-33.18142087 0-60.32985613-27.14843525-60.32985612-60.32985613V195.26825538c-49.77213131 0-90.49478418 40.72265287-90.49478417 90.49478417v452.4739209c0 49.77213131 40.72265287 90.49478418 90.49478417 90.49478417h286.56681657c16.59071043 0 30.16492806 13.57421762 30.16492807 30.16492807s13.57421762 30.16492806 30.16492805 30.16492806h90.49478418c16.59071043 0 30.16492806-13.57421762 30.16492805-30.16492806s13.57421762-30.16492806 30.16492807-30.16492807h286.56681657c49.77213131 0 90.49478418-40.72265287 90.49478417-90.49478417V285.76303955c0-49.77213131-40.72265287-90.49478418-90.49478417-90.49478417zM587.41232014 647.74217627h191.54729318c19.60720323 0 34.68966726-15.08246403 34.68966729-34.68966727V134.93839925c0-16.59071043-13.57421762-30.16492806-30.16492808-30.16492805H617.57724821c-30.16492806 0-60.32985613 27.14843525-60.32985612 60.32985611v452.4739209c0 16.59071043 13.57421762 30.16492806 30.16492805 30.16492806z" fill="currentColor"></path>
</svg>
        <span>22</span>
      </div>
      <div class="count-box--item">
        <svg class="icon icon-categories" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M900.3614811 257.09082106h-339.81629553l-67.96326003-101.9448889c-19.41807444-29.12711113-48.54518557-43.69066667-82.52681443-43.69066667H123.6385189c-53.39970333 0-97.09036999 43.69066667-97.09037113 97.09036999v582.54222222c0 53.39970333 43.69066667 97.09036999 97.09037113 97.09037002h776.7229622c53.39970333 0 97.09036999-43.69066667 97.09037113-97.09037002V354.18119104c0-53.39970333-43.69066667-97.09036999-97.09037113-97.09036998z m-97.09036999 242.72592554H220.72888889c-24.27259221 0-48.54518557-24.27259221-48.54518556-48.54518556s24.27259221-48.54518557 48.54518556-48.54518444h582.54222222c24.27259221 0 48.54518557 24.27259221 48.54518556 48.54518444s-24.27259221 48.54518557-48.54518556 48.54518556z" fill="currentColor"></path>
</svg>
        0
      </div>
      <div class="count-box--item">
        <svg class="icon icon-tags" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M283.42180005 272q0-28.38857157-20.09142843-48.48000001t-48.47999998-20.09142842-48.48000002 20.09142842-20.09142846 48.48000001 20.09142846 48.48 48.48000002 20.09142843 48.47999998-20.09142843 20.09142843-48.48zM855.0332285 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.03999997 263.58857157q-20.9142853 19.81714313-48.75428534 19.81714312-28.38857157 0-48.20571468-19.81714312l-383.04-383.58857157q-20.36571468-19.81714313-34.55999999-54.10285688t-14.19428534-62.6742853l0-222.85714313q0-27.84000002 20.36571469-48.20571469t48.2057147-20.36571466l222.85714313 0q28.38857157 0 62.6742853 14.19428529t54.65142842 34.55999999l383.04000001 382.49142843q19.81714313 20.9142853 19.81714314 48.75428532zM1060.74751475 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.04 263.58857157q-20.9142853 19.81714313-48.75428531 19.81714312-19.26857155 0-31.61142843-7.47428531t-28.38857159-24.13714314l251.79428534-251.7942853q19.81714313-19.81714313 19.81714308-48.20571469 0-27.84000002-19.81714308-48.75428531l-383.04000001-382.49142845q-20.36571468-20.36571468-54.65142842-34.55999999t-62.67428532-14.19428534l120 0q28.38857157 0 62.67428532 14.19428534t54.65142842 34.55999999l383.03999998 382.49142845q19.81714313 20.9142853 19.81714314 48.75428531z" fill="currentColor"></path>
</svg>
        8
      </div>
    </div>
  </div>
</section>

      

      
<section class="widet-notice widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-notice" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M512 945.02305225v28.15620663a24.27259221 24.27259221 0 0 1-24.27259221 24.27259335H394.0352a48.54518557 48.54518557 0 0 1-41.74885888-23.78714112l-110.68302222-184.47170332a132.04290333 132.04290333 0 0 1-17.47626667-48.54518557h118.4502511a200.97706667 200.97706667 0 0 1 76.21594113 14.56355556l20.38897777 133.49925888a48.54518557 48.54518557 0 0 0 36.40888888 27.67075555l16.01991111 2.91271112a24.27259221 24.27259221 0 0 1 20.38897778 25.72894889zM997.45185223 463.45481443a194.18074112 194.18074112 0 0 1-38.8361489 116.50844445 24.75804445 24.75804445 0 0 1-36.4088889 0l-34.95253333-34.95253333a24.27259221 24.27259221 0 0 1-2.91271111-30.58346667 97.09036999 97.09036999 0 0 0 0-106.79940665 24.27259221 24.27259221 0 0 1 2.91271111-30.58346666l34.95253333-34.95253334a24.75804445 24.75804445 0 0 1 18.93262223-7.28177777 26.2144 26.2144 0 0 1 17.47626667 9.70903665A194.18074112 194.18074112 0 0 1 997.45185223 463.45481443z m-194.18074112-388.36148111v776.72296335a48.54518557 48.54518557 0 0 1-48.54518556 48.54518443h-28.64165888a48.54518557 48.54518557 0 0 1-33.98163001-14.07810332l-145.63555556-143.20829668A291.27111111 291.27111111 0 0 0 342.57730333 657.63555556H172.18370333a145.63555556 145.63555556 0 0 1-145.63555556-145.63555556v-97.09036999a145.63555556 145.63555556 0 0 1 145.63555556-145.63555556h170.3936a291.27111111 291.27111111 0 0 0 206.31703779-85.43952668l145.63555555-143.20829554a48.54518557 48.54518557 0 0 1 33.98162888-14.07810446H754.72592555a48.54518557 48.54518557 0 0 1 48.54518556 48.54518555z" fill="currentColor"></path>
</svg>
    <span>NOTICE</span>
  </div>
  <div class="widget-body">
    <p>flex-block主题部分重构，详情查看https://github.com/miiiku/flex-block</p>
  </div>
</section>


      <section class="widget-categorys widget-item layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-categories" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M900.3614811 257.09082106h-339.81629553l-67.96326003-101.9448889c-19.41807444-29.12711113-48.54518557-43.69066667-82.52681443-43.69066667H123.6385189c-53.39970333 0-97.09036999 43.69066667-97.09037113 97.09036999v582.54222222c0 53.39970333 43.69066667 97.09036999 97.09037113 97.09037002h776.7229622c53.39970333 0 97.09036999-43.69066667 97.09037113-97.09037002V354.18119104c0-53.39970333-43.69066667-97.09036999-97.09037113-97.09036998z m-97.09036999 242.72592554H220.72888889c-24.27259221 0-48.54518557-24.27259221-48.54518556-48.54518556s24.27259221-48.54518557 48.54518556-48.54518444h582.54222222c24.27259221 0 48.54518557 24.27259221 48.54518556 48.54518444s-24.27259221 48.54518557-48.54518556 48.54518556z" fill="currentColor"></path>
</svg>
    <span>CATEGORYS</span>
  </div>
  <div class="widget-body">
    <ul class="categorys-list">
      
    </ul>
  </div>
</section>

      <section class="widget-tags widget-item  layout-margin content-padding--primary soft-size--large soft-style--box">
  <div class="widget-title">
    <svg class="icon icon-tags" viewBox="0 0 1098 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M283.42180005 272q0-28.38857157-20.09142843-48.48000001t-48.47999998-20.09142842-48.48000002 20.09142842-20.09142846 48.48000001 20.09142846 48.48 48.48000002 20.09142843 48.47999998-20.09142843 20.09142843-48.48zM855.0332285 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.03999997 263.58857157q-20.9142853 19.81714313-48.75428534 19.81714312-28.38857157 0-48.20571468-19.81714312l-383.04-383.58857157q-20.36571468-19.81714313-34.55999999-54.10285688t-14.19428534-62.6742853l0-222.85714313q0-27.84000002 20.36571469-48.20571469t48.2057147-20.36571466l222.85714313 0q28.38857157 0 62.6742853 14.19428529t54.65142842 34.55999999l383.04000001 382.49142843q19.81714313 20.9142853 19.81714314 48.75428532zM1060.74751475 580.57142843q0 28.38857157-19.81714313 48.2057147l-263.04 263.58857157q-20.9142853 19.81714313-48.75428531 19.81714312-19.26857155 0-31.61142843-7.47428531t-28.38857159-24.13714314l251.79428534-251.7942853q19.81714313-19.81714313 19.81714308-48.20571469 0-27.84000002-19.81714308-48.75428531l-383.04000001-382.49142845q-20.36571468-20.36571468-54.65142842-34.55999999t-62.67428532-14.19428534l120 0q28.38857157 0 62.67428532 14.19428534t54.65142842 34.55999999l383.03999998 382.49142845q19.81714313 20.9142853 19.81714314 48.75428531z" fill="currentColor"></path>
</svg>
    <span>TAGS</span>
  </div>
  <div class="widget-body">
    <div class="tags-cloud">
      <a href="/blog/tags/Activiti/" style="font-size: 13.33px;" class="tags-cloud-3">Activiti</a> <a href="/blog/tags/Nginx/" style="font-size: 10px;" class="tags-cloud-0">Nginx</a> <a href="/blog/tags/PG%E6%95%B0%E6%8D%AE%E5%BA%93/" style="font-size: 13.33px;" class="tags-cloud-3">PG数据库</a> <a href="/blog/tags/goView/" style="font-size: 13.33px;" class="tags-cloud-3">goView</a> <a href="/blog/tags/java/" style="font-size: 20px;" class="tags-cloud-10">java</a> <a href="/blog/tags/vue/" style="font-size: 16.67px;" class="tags-cloud-7">vue</a> <a href="/blog/tags/%E5%AF%BC%E5%87%BAExcel/" style="font-size: 16.67px;" class="tags-cloud-7">导出Excel</a> <a href="/blog/tags/%E6%8A%A5%E9%94%99/" style="font-size: 10px;" class="tags-cloud-0">报错</a>
    </div>
  </div>
</section>
    </div>
  </article>
</div>

    <!-- footer container -->
<footer id="footer" class="footer">
  <div class="footer-container">
    
    <div class="social-icons">
      
        
      
        
      
        
      
        
          <a href="https://github.com/miiiku/" class="soft-size--primary soft-style--box" target="_blank" rel="noopener noreferrer">
            <svg class="icon icon-github" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M64.6 512c0 195.6 125.4 361.9 300.1 422.9 23.5 5.9 19.9-10.8 19.9-22.2v-77.6c-135.8 15.9-141.3-74-150.5-89-18.5-31.5-61.9-39.5-49-54.5 31-15.9 62.5 4 98.9 58 26.4 39.1 77.9 32.5 104.1 26 5.7-23.5 17.9-44.5 34.7-60.9-140.7-25.2-199.4-111.1-199.4-213.3 0-49.5 16.4-95.1 48.4-131.8-20.4-60.6 1.9-112.4 4.9-120.1 58.2-5.2 118.5 41.6 123.3 45.3 33.1-8.9 70.8-13.7 112.9-13.7 42.4 0 80.3 4.9 113.5 13.9 11.3-8.6 67.3-48.8 121.4-43.9 2.9 7.7 24.7 58.3 5.5 118.1 32.5 36.8 49 82.8 49 132.4 0 102.3-59 188.3-200.2 213.2 23.5 23.3 38.1 55.5 38.1 91.1v112.7c0.8 9 0 17.9 15.1 17.9C832.7 877 960.4 709.4 960.4 512.1c0-247.5-200.6-447.9-447.9-447.9C265 64.1 64.6 264.5 64.6 512z"></path>
</svg>
          </a>
        
      
        
          <a href="https://twitter.com/guanquanhong" class="soft-size--primary soft-style--box" target="_blank" rel="noopener noreferrer">
            <svg class="icon icon-twitter" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
  <path d="M962.285714 233.142857q-38.285714 56-92.571429 95.428571 0.571429 8 0.571429 24 0 74.285714-21.714286 148.285714t-66 142-105.428571 120.285714-147.428571 83.428571-184.571429 31.142857q-154.857143 0-283.428571-82.857143 20 2.285714 44.571429 2.285714 128.571429 0 229.142857-78.857143-60-1.142857-107.428571-36.857143t-65.142857-91.142857q18.857143 2.857143 34.857143 2.857143 24.571429 0 48.571429-6.285714-64-13.142857-106-63.714286t-42-117.428571l0-2.285714q38.857143 21.714286 83.428571 23.428571-37.714286-25.142857-60-65.714286t-22.285714-88q0-50.285714 25.142857-93.142857 69.142857 85.142857 168.285714 136.285714t212.285714 56.857143q-4.571429-21.714286-4.571429-42.285714 0-76.571429 54-130.571429t130.571429-54q80 0 134.857143 58.285714 62.285714-12 117.142857-44.571429-21.142857 65.714286-81.142857 101.714286 53.142857-5.714286 106.285714-28.571429z"></path>
</svg>
          </a>
        
      
    </div>
     
    <p>&copy; 2024 <a href="/" target="_blank">QAQ</a></p>

    

    <p>Powered by <a href="https://hexo.io" target="_blank" rel="noopener noreferrer">Hexo</a> Theme - <a href="https://github.com/miiiku/flex-block" target="_blank" rel="noopener noreferrer author">flex-block</a></p>

    <p>
      <a href="javascript:;" id="theme-light">🌞 浅色</a>
      <a href="javascript:;" id="theme-dark">🌛 深色</a>
      <a href="javascript:;" id="theme-auto">🤖️ 自动</a>
    </p>
  </div>
</footer>
  </div>

  <div class="back-to-top-fixed soft-size--round soft-style--box">
    <svg class="icon icon-back-to-top" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg">
      <path d="M725.333333 426.666667c-12.8 0-21.333333-4.266667-29.866667-12.8l-213.333333-213.333333c-17.066667-17.066667-17.066667-42.666667 0-59.733333s42.666667-17.066667 59.733333 0l213.333333 213.333333c17.066667 17.066667 17.066667 42.666667 0 59.733333C746.666667 422.4 738.133333 426.666667 725.333333 426.666667z"></path>
      <path d="M298.666667 426.666667c-12.8 0-21.333333-4.266667-29.866667-12.8-17.066667-17.066667-17.066667-42.666667 0-59.733333l213.333333-213.333333c17.066667-17.066667 42.666667-17.066667 59.733333 0s17.066667 42.666667 0 59.733333l-213.333333 213.333333C320 422.4 311.466667 426.666667 298.666667 426.666667z"></path>
      <path d="M512 896c-25.6 0-42.666667-17.066667-42.666667-42.666667L469.333333 170.666667c0-25.6 17.066667-42.666667 42.666667-42.666667s42.666667 17.066667 42.666667 42.666667l0 682.666667C554.666667 878.933333 537.6 896 512 896z"></path>
    </svg>
  </div>

  
  <!-- aplayer -->


<!-- dplayer -->


<!-- copy button  -->
<script src="https://cdn.jsdelivr.net/npm/clipboard@2.0.11/dist/clipboard.min.js"></script>

<!-- https://clipboardjs.com/ -->


<script type="text/javascript">
	(function () {
		function getCodeType (elem) {
			const classs = Array.from(elem.classList.values());
			if (classs && classs.length > 1) {
				return classs[1];
			}
			return "plain";
		}

		window.addEventListener("DOMContentLoaded", () => {
			const copyBtnClass = "copy-btn";
			//  instantiate clipboardjs 
			const clipboard = new ClipboardJS('.' + copyBtnClass);

			clipboard.on('success', function (e) {
				console.info('Action:', e.action);
				console.info('Text:', e.text);
				console.info('Trigger:', e.trigger);
				if (e.trigger) {
					e.trigger.classList.add("copied");
					setTimeout(() => {
						e.trigger.classList.remove("copied");
					}, 3000);
				}
				e.clearSelection();
			});

			clipboard.on('error', function (e) {
				console.error('Action:', e.action);
				console.error('Trigger:', e.trigger);
			});

			document.querySelectorAll('figure.highlight').forEach((elem) => {
				const codeContent = elem.querySelector("td.code");
				const copyButton = document.createElement('button');
				copyButton.setAttribute("class", copyBtnClass);
				copyButton.setAttribute("title", "Copy Code");
				copyButton.setAttribute("data-clipboard-text", codeContent.innerText);
				elem.insertBefore(copyButton, elem.children[0]);
			});
		})
	})();
</script>








  


  


  




<script src="/blog/js/script.js"></script>


  
  <!-- 尾部用户自定义相关内容 -->
</body>
</html>
